1. Field of the Invention
The present invention relates to Multimedia Broadcast/Multicast service (hereinafter referred to as MBMS), especially to a method for managing key in MBMS.
2. Description of the Related Art
MBMS is a new service under standardization by 3G Mobile Communication System Partnership Project. MBMS service is a unidirectional point-to-multipoint (p-t-m) (i.e. multimedia data sent from a single data source are transferred to multiple users through network transmission) service. The most remarkable feature of this service is that it can make use of radio resources and network resources efficiently.
The MBMS service is mainly used in wireless communication network system, e.g. Wideband Code-Division Multiple Access system, Global System of Mobile Communication, etc.. MBMS service data transmission basically includes following several steps, i.e. data source transmission, middle network transmission, destination cell on-the-air transmission and user reception.
FIG. 1 is a logical figure for network devices of the radio communication system that can provide MBMS service, in which MBMS actually makes use of General Packet Radio Data Service (hereinafter referred to as GPRS) as core transmission network.
As shown in FIG. 1, a Broadcast/Multicast service Center (hereinafter referred to as BM-SC) is a data source for MBMS data transmission; a Gateway GPRS Supporting Node (hereinafter referred to as GGSN) is used to connect the GRPS network with external network, such as INTERNET, In MBMS service, the Gateway GPRS Supporting Node connects to the BM-SC and sends MBMS data to a specific Service GPRS Supporting Node (hereinafter referred to as SGSN); a Cell Broadcast Center is the data source of cell broadcast.
Through interconnecting Cell Broadcast Center with BM-SC in MBMS, the Cell Broadcast Center can provide MBMS service promotion function; the SGSN is used to perform access control on a UE as well as mobility management, and sends MBMS data from the GGSN to a specific Radio Network Controller (hereinafter referred to as RNC) at the same time; a RNC is used to control a group of base stations and sends multimedia data to a specific base station; The base station (hereinafter referred to as Node-B) establishes an in-the-air data transmission channel for MBMS service in a certain cell under the control of the RNC; Terminal User Equipment (hereinafter referred to as UE) is a terminal equipment for MBMS data reception.
For the considerations of charging and safety, etc., it is usually necessary to perform encryption to MBMS service's data transmission so as to make the data effective only for those users who can receive. Because the MBMS is a kind of point-to-multipoint service and in order to utilize the radio resources and network resources effectively, the keys applied in MBMS data encryption are just the same for all of a group of users receiving the same kind of MBMS service. Thus, the users needn't obtain different keys for their roaming within the service range of this MBMS service. Generally, the BMSC takes charge of such tasks as key generation, key management and key assignment. In order to make it safer and to prevent key from divulging, it is necessary for the BMSC to often change the key for data encryption.
Since it is possible that much more users share the same MBMS service, e.g., for certain football match that is in live broadcast, it is possible that hundreds of users in the same cell are watching this match, each user wants to obtain this key and each user's key transmission must occupy definite system resources. Therefore, a two-level encryption mechanism is adopted in the MBMS service to guarantee that the key can be updated for every user in time and no excessive system resource will be occupied in the meantime.
Firstly, the BMSC generates an MBMS service key (hereinafter referred to as MSK) for each MBMS service. This MSK is kept unchanged within a comparatively long period of time. Each user who joins in a certain MBMS service will receive an MSK, the transmission and update of which are done in the point-to-point mode and via the dedicated channel allocated for the user. Each MSK mentioned above has an ID, which is jointly composed of a Network ID, a Key Group ID and a MSK ID and every MSK is uniquely identified by said ID. Here, the Network ID is 3 bytes long, which indicates in which operator's network the key is applied; the Key Group ID is 2 bytes long and it is used to perform grouping management on keys for the convenience of deleting keys that are no longer needed to save; and the MSK ID is 2 bytes long. It is used to distinguish different MSKs that have identical Network ID and Key Group ID. In the existing MBMS services, the MSK ID increases by degrees corresponding to each update of MSK.
Secondly, the BMSC generates a MBMS data key that varies in real time (hereinafter referred to as MTK), which varies very fast. The BMSC transfers the MTK through a common channel shared by many users in virtue of the point-to-multipoint mode after it is encrypted with the MSK. Each user who has joined in this service can decrypt this information with the received MSK to obtain the currently applied MTK. Each MTK mentioned above also has an ID, which is jointly composed of a Network ID, a Key Group ID, a MSK ID and a MTK ID and the MTK is uniquely identified by the ID. Here, the MTK ID is 2 bytes long and used to distinguish different MTKs whose Network ID, Key Group ID and MSK ID are identical respectively. In the existing MBMS services, the MTK ID increases by degrees corresponding to each update of the MTK.
In the MBMS services, the MSK is kept unchanged only within a comparatively long period of time. In fact, it also needs update. In the existing system, after receiving a new MSK, the UE will delete the old one that is saved inside the UE and has the same Network ID, Key Group ID but different MSK ID as that of the newly received one. Similarly, after receiving a new MTK, the UE will delete the old one that is saved inside the UE and has the same Network ID, Key Group ID, MSK ID but different MTK ID as that of the newly received one.
Within the 24 hours of a day, the load of a mobile communication system varies along with the change of time. Generally, in daytime, it is necessary for the mobile communication system to provide people with voice conversation, data services, etc., the load of the mobile communication system is comparatively heavy; while at night, the load of the mobile communication system is comparatively light. Thus in the services that the MBMS can provide, there exists the following service mode: at night, when the load of the system is comparatively light, a certain MBMS service's encrypted multimedia data is transmitted to the UE; while in daytime, when a certain user is interested in this service and accordingly joins in, the system transmits the several MSKs to the UE for decryption.
Under that service mode, if the existing key management method is still adopted in the system, then when the UE receives many MSKs at a time, it can only save the last received MSK with the largest MSK ID but none of the many MSKs that have smaller MSK IDs and have the same Network ID, Key Group ID as that of the saved one. In fact, these MSKs with smaller MSK IDs are needed for later MTK's decryption. In this way, the UE will delete these MSKs that are actually needed to be saved.